package com.xr.core.system.mapper;

import com.xr.core.system.common.base.MyBaseMapper;
import com.xr.core.system.entity.userModule.AdminMenuVO;
import com.xr.core.system.entity.userModule.AssociatedRoleDTO;
import com.xr.core.system.entity.userModule.User;

import java.util.List;

/**
 * 总后台用户表(User)表数据库访问层
 */
public interface UserMapper extends MyBaseMapper<User> {

    /**
     * 移除用户分配的角色
     *
     * @param params
     * @return com.northeastern.university.common.model.JsonData
     */
    void removeAssociatedRole(AssociatedRoleDTO params);

    /**
     * 给用户分配角色
     *
     * @param params
     * @return com.northeastern.university.common.model.JsonData
     */
    int associatedRole(AssociatedRoleDTO params);

    /**
     * 获取当前登录人菜单
     *
     * @param userId
     * @return
     */
    List<AdminMenuVO> getMenuListByUserId(Long userId);

    /**
     * 通过用户id 查询用户所有角色code
     *
     * @param id 用户id
     */
    List<String> selectRoleCodeByUserId(Long id);

}

